Adjoint State Method
Abstract
将深度神经网络视为连续动力系统的想法诞生了一类新的深度学习模型,它们拥有着一些独特的性质,在实践性能上也较为优越。需要指出,动力系统的解是以数值形式隐式表达的,通常的反向传播算法并不适用,ASM长久以来被用于此类模型的优化中。
Introduction
考虑时间序列向量yi∈Rn,i=1,…,N,这里n是观测空间的维度,N是观测数,与落在区间I:=[0,T]的ti对应。在研究中经常使用如下初值问题来模型化这些数据: dtu=f(t,u,ϕ),t∈[0,T]u(0)=u0(ϕ) 这里ϕ为模型参数,u∈Rm,预测函数是对式子(1.1)的积分结果与一个之后的后处理,比如样本降维。可以表示为ˆy=P(u(t,ϕ))=:g(t,ϕ),P:Rm→Rn,P即为对解值的后处理算子。
伴随状态方法的目的,就是为了对上面的模型进行优化,即有效的计算下面式子的一二阶梯度(关于参量): l(ϕ)=±∑id(yi,g(ti,ϕ)) 这里d:Rn×Rn→[0,∞)是一个充分光滑的度量函数,式子(1.2)给出了函数族的泛函。
这里必须指出,我们通常无法确定u的解析形式,而是完全以数值的方式计算它在每个时刻的值,只有f(⋅)的解析形式是已知的,直接用链式法则解析地计算dϕl并不可行(Jϕ(u)无法计算),这正是这个问题的难点所在。
Adjoint-state method
ASM被用于不同的领域中,有着较长的历史,但很难准确地追溯它的起源,因为它只是基于另一个一般的法则-对偶。它的主要思想是得到式子(1.1)的对偶,这使得我们能够以简单的形式写出式子(1.2)的梯度,并且能够简单地计算。通常来说,在合适的hilbert空间中得到的内积都包含着对偶状态。
模型敏感性
定义f的一阶方向导数为Df(x;h),令s:=Du(ϕ;h),若它存在,则通过式子(1.1)可得s满足如下的初值问题: dts=Ju(f)s+Jϕ(f)h,t∈[0,T]s(0)=Jϕ(u0)h 这被称为敏感性等式,这里Jϕ(f):Rp→Rm和Ju(f):Rm→Rm为f的雅可比阵。令ei,i=1,…,p为空间Rp的规范基,对h=ei,i=1,…,p进行积分得到s=(∂u1∂ϕi,∂u2∂ϕi,…,∂um∂ϕi)∗. 这意味着计算整个雅可比阵Jϕ(u)需要对初值问题(2.1)进行p次积分,这样做的复杂性与一阶有限差分相同。
定理1.假设映射f:U⊆R×Rm×Rp→Rm与u0:V⊆Rp→Rm都是Ck的,k≥1并且U,V是分别包含(0,u0(ϕ0),ϕ0)和ϕ0的开集,那么:
- (a)存在一个区间(−a,a),a>0,以及一个开邻域U(ϕ0)使得初值问题(1.1)对每个ϕ∈U(ϕ0)都正好有一个解。
- (b)映射(t,ϕ)↦u(t;ϕ)在(−a,a)×U(ϕ0)上是Ck的,并且(2.1)也满足。
连续化处理
这里将离散数据与连续模型通过似然泛函的方式进行联系,我们可以作如下表示: ∑id(yi,g(ti,ϕ))=∫T0δ{t−ti}d(y(t),g(t,ϕ))dt 这里δ{t−ti}为所有测量时间上的狄拉克函数。同时为了使上面的积分定义良好,我们定义y(t):=yi,t∈(ti−ε,ti+ε),这里ε为一个小的正常量。使用线性开拓,我们使y(t)在区间[0,T]上连续。
为了式子(2.2)的良好定义,g(t,ϕ)应该至少在每个ti附近是连续的。这里假定P∈L(Rm,Rn),这个条件足够充分使下式成立: P(u(t,ϕ))−P(u0(ϕ))=∫t0P(f(t,ϕ,u))dt 由定理1以及假设,可以保证g(t,ϕ)是连续的。
利用希尔伯特空间L2([0,T])上的内积,式子(2.2)可以表达为: ∫T0δ{t−ti}d(y(t),g(t,ϕ))dt=⟨δ{t−ti},d(y(t),g(t,ϕ))⟩ 为简便起见,我们将δ{t−ti}记为{δ},使用上面的记号我们可以证明如下的引理
引理1.令定理1的假设在k=1的情况满足,度量函数d为C1的。则泛函(1.2)为frechet可微的,并且导数Dl(ϕ;h)可以表示为: Dl(ϕ;h)=⟨{δ}du(y,g(t,ϕ)),s⟩ 这里s为敏感性方程(2.1)的唯一解。用链式法则即可证明,而且由于式子(2.1)的线性性质,导数Dl(ϕ;h)可以被简单地写作线性化的形式Dl(ϕ;h)=l′(ϕ)h,并且我们在有限维的情况考虑问题,下面的式子: ∇l(ϕ)⋅h:=l′(ϕ)h for all h∈Rp 良好地定义了l的梯度∇l(ϕ),作为ϕ的映射,即∇l:Rp→Rp.
ASM
直接来说,方法的核心是如下的定理:
定理2.令引理1的假设被满足,那么式子(2.3)中的一阶frechet导数也能够被写作: Dl(ϕ;h)=−v∗(0)Jϕ(u0)h−(Jϕ(f)h,v)
这里v是下面初值问题的唯一解: dtv=−J∗u(f)v+{δ}du(y,g(t,ϕ)),t∈[0,T]v(T)=0 式子(2.5)可以写为线性形式,即: ∇l=−v∗(0)Jϕ(u0)−(v,Jϕ(f)) 我们只需要对伴随问题(2.6)进行积分,然后估计式子(2.7)即可,式子中的每一项都可以直接计算。
证明
这里只说定理2的证明:
首先假设已经得到了定理2中式子(2.6)对于某个测量时刻ti的解v,从结果上说,这里会将其延拓至[ti,ti−1).
令v+i为t+i时刻方程的解,在这个时刻中断积分,将du(yi,g(ti,ϕ))加入v+i中然后求解 dtv=−J∗u(f)v,t∈(ti,ti−1)v(ti)=v+i+du(yi,g(ti,ϕ)) 这是一个简单的线性ODE,系数J∗u(f)为连续的,因为f∈C1. 经典理论告诉我们这会得到一个(ti,ti−1)上的全局解。上面即说明了存在以及唯一性,下面对式子(2.5)进行证明。
假定在起始与终止时刻都没有进行测量,有下面分部积分公式: ∫T0dtvwdt=[vw]T0−∫T0vdtwdt 对于w∈C1成立,尽管dtv仅仅是几乎处处存在。又因为s∈C1([0,T]),所以有: ⟨s,{δ}du(y,g(t,ϕ))⟩=⟨s,dtv+J∗u(f)v⟩(2.6)=−v∗(0)Jϕ(u0)h−(dts−Ju(f)s,v)(3.2)=−v∗(0)Jϕ(u0)h−(Jϕ(f)h,v).(2.1) 即证。
v1.5.2